package com.data.modules.contract.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 结算规则列表展示
 * </p>
 *
 * @author author
 * @since 2021-07-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SettleSuppierRuleAddBo implements Serializable {


    @ApiModelProperty(value = "规则id")
    private Long id;

    @ApiModelProperty(value = "规则名称")
    @NotEmpty(message = "规则名称必填")
    private String ruleName;

    @ApiModelProperty(value = "规则类型 100-合作商基础招聘费,200-合作商季节性补贴,300-合作商特殊活动奖励,301-合作商计件规则,302-合作商计件-基础,303-合作商计件-季节,400-内荐推荐人结算规则,500-内荐计件规则,600-经纪人计件规则,700-用工单位基础结算,703-用工单位季节结算")
    @NotNull(message = "规则类型必填")
    private Integer ruleType;

    @NotNull(message = "规则分类必填")
    @ApiModelProperty(value = "规则分类：100-计件结算;200-计时结算")
    private String ex1;

    @JsonFormat(
            pattern = "yyyy-MM-dd",
            timezone = "GMT+8"
    )
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "有效期开始时间")
    @NotNull(message = "有效期开始时间必填")
    private Date startTime;

    @JsonFormat(
            pattern = "yyyy-MM-dd",
            timezone = "GMT+8"
    )
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "有效期结束时间")
    @NotNull(message = "有效期结束时间必填")
    private Date endTime;

    @ApiModelProperty(value = "适用城市")
    private String applyCity;

    @ApiModelProperty(value = "适用城市编码")
    private String applyCityCode;

    @ApiModelProperty(value = "适用三方、站点 多个时逗号隔开")
    private String applyStationName;

    @ApiModelProperty(value = "适用三方id、站点id 多个时逗号隔开")
    private String applyStationId;

    @ApiModelProperty(value = "适用甲方公司ID多个时逗号隔开")
    private String applySupId;

    @ApiModelProperty(value = "适用甲方公司多个时逗号隔开")
    private String applySupName;

    @ApiModelProperty(value = "适用甲方城市编码 多个时逗号隔开")
    private String applySupCityCode;

    @ApiModelProperty(value = "适用甲方城市 多个时逗号隔开")
    private String applySupCity;

    @ApiModelProperty(value = "适用甲方项目")
    private String applySupProject;

    @ApiModelProperty(value = "适用甲方项目id")
    private String applySupProjectId;

    @ApiModelProperty(value = "适用项目")
    private String applyProject;

    @ApiModelProperty(value = "适用项目id")
    private String applyProjectId;

    @ApiModelProperty(value = "规则内容：1. 只要劳动者上岗天数符合某一阶梯的保准，即结算本阶梯的金额，但一个阶梯仅结算一次")
    private String ruleArrey;

    @ApiModelProperty(value = "人数奖励")
    private String peopleReward;

    @ApiModelProperty(value = "甲方站点名称")
    private String applySupStationName ;

    @ApiModelProperty(value = "甲方站点id")
    private String applySupStationId;

    @ApiModelProperty(value = "1-是，0否")
    private Integer isCopy;

    @ApiModelProperty(value = "备注")
    private String  remark;

    @ApiModelProperty(value = "阶梯规则 1.天数+工作量 ,2.小时数+工作量")
    private Integer ladderRuleType;

}
